仮想化 モジュール - Microsoft

勉強会キット
OpenFlowに代わる第2のSDN
Windows Server 2012 R2 で実現する
Software Defined Network
2014/5/26 v1.0
日本マイクロソフト株式会社
エバンジェリスト
高添 修
https://blogs.technet.com/b/osamut/
はじめに
本資料は、Software Defined Network についての説明ですが、
既存の物理ネットワーク機器を入れ替える話は出てきません。
Microsoft Azure を含むパブリックなクラウドが取り組む新し
いソフトウェアベースのネットワーク制御の仕組みについて
解説しています。
ソフトウェアで定義し制御する SDN を、ネットワーク目線
ではなくサービスの目線でご理解いただければ幸いです。
2
Windows Server 2012 R2 評価ガイド/ネットワーク仮想化 (SDN) ステップ バイ
ステップ評価ガイド (Word、18.2 MB)
※ ノートPC 2台でも 簡易テストは可能です。
3
現在のデータセンターネットワークとその課題
アグリゲーションスイッチ
(バックボーンネットワーク)
Top of Rack スイッチ (ToR)
VLAN タグ
ネットワーク管理者
サーバー管理者
VLAN 数の課題、物理依存作業の課題、MAC アドレス管理の課題
5
ネットワークの仮想化(オーバーレイ)という選択肢の登場
物理ネットワーク設定
カプセル化トラフィック
datacenter Policy
Blue
• VM1: MAC1, CA1, PA1
• VM2: MAC2, CA2, PA3
• VM3: MAC3, CA3, PA5
• VM4: MAC1, CA4, PA7
• VM5: MAC2, CA5, PA8
Red
• VM1: MACX, CA1, PA2
• VM2: MACY, CA2, PA4
• VM3: MACZ, CA3, PA6
• VM4: MACZ, CA3, PA9
Green
• VM1: MACa, CA1, PA1
• VM2: MACb, CA2, PA2
• VM3: MACc, CA3, PA5
WAN を越えて IP アドレスを継続利用
6
仮想化 = あたかも xx のように見せる技術
サーバーの仮想化は
あたかも物理サーバーがたくさんあるように見せる技術
ネットワークの仮想化は
あたかも物理ネットワークがたくさんあるように見せる技術
物理ネットワークとは関係なく自由に IP サブネットを利用可
A 社用
ネットワーク
B 社用
ネットワーク
C 社用
ネットワーク
・・・オーバーレイ
物理ネットワーク
8
Windows Server 2012 R2 に標準搭載 ~ NVGRE ~
Network Virtualization using
Generic Routing Encapsulation
ネットワーク A
VSID:5001
• サーバー仮想化のための
ネットワーク オーバーレイ技術
• ハードウェア非依存
• Hyper-V がルーティング
ネットワーク B
VSID:6001
ネットワーク C
VSID:7001
Hyper-V
Hyper-V
• 24bit の ID を使って
パケットをカプセル化
• 1677 万以上の
仮想ネットワーク構築
• WAN や建屋を超えた
ネットワークも容易
物理ネットワーク + VLAN
9
NVGRE ドラフト
Network Virtualization using Generic Routing Encapsulation
10
(参考) NVGRE パケット構造
Outer Ethernet Header ( VLAN Tag あり・ 18byte / VLAN Tag なし・ 14byte ):
送信先
MAC Address
( 48bit )
送信元
MAC Address
( 48bit )
VLAN タグ
Ethertype
( 32bit )
( 16bit )
Outer IPv4 Header ( 20byte ):
Version
IHL
ToS
( 4bit )
( 4bit )
( 8bit )
Total
Length
( 16bit )
ID
Flags
( 16bit )
( 3bit )
Fragment
Offset
( 13bit )
TTL
( 8bit )
Protocol
0x2F
( 8bit )
Header
Checksum
( 16bit )
送信元
IP Address
( 32bit )
送信先
IP Address
( 32bit )
GRE Header ( 8byte ):
Flags and
Version
( 16bit )
Protocol Type
0x6558
( 16bit )
VSID
FlowID
( 24bit )
( 8bit )
Ethertype
........
0x2F = GRE
Inner Ethernet Header :
送信先
MAC Address
( 48bit )
送信元
MAC Address
( 48bit )
( 16bit )
11
Hyper-V がルーティングテーブルを持つ
Blue 社
管理用 PowerShell
コマンドあり
Red 社
ルーティングテーブル
BlueVM01 : 10.1.1.1
MACAddress:001dd8b71c06
VSID : 30
Host01 : 192.168.1.11
BlueVM02 : 10.1.1.2
MACAddress:001dd8b71c11
VSID : 30
Host02 : 192.168.1.12
RedVM01 : 10.1.1.1
MACAddress:001dd8b71c21
VSID : 20
Host01 : 192.168.1.11
マルチテナント データセンター
RedVM02 : 10.1.1.2
MACAddress:001dd8b71c31
VSID : 20
Host02 : 192.168.1.12
12
PowerShell を使ったルーティングテーブルの制御 (例)
New-NetVirtualizationLookupRecord -VirtualSubnetID "5001" CustomerAddress "192.168.1.101" -ProviderAddress "10.1.1.20" -MACAddress
"00155D011404" -Rule "TranslationMethodEncap" -VMName "hv3-blue01"
$cred = Get-Credential "dob1\administrator"
Invoke-Command -ComputerName "ml110g6-01" -Credential $cred {
Get-VMNetworkAdapter “hv3-blue01” | where {$_.MacAddress -eq
“00155D011404”} | Set-VMNetworkAdapter -VirtualSubnetID 5001;
}
13
PowerShellでの実装(結果)
14
こだわりとポイント
仮想マシン
• コントローラーによる制御が基本
(物理負荷の大幅軽減のため)
Hyper-V
仮想スイッチ
仮想化
モジュール
物理
NIC
• ハードウェア非依存
• 仮想マシンからは透過的
• ハイパーバイザーへ実装
(仮想スイッチ内)
ポリシー適用
・分離
・IP 仮想化
物理に出ていく
前に処理を実行
• コントローラ―レスの
MACテーブルラーニングに対応
(Unicast & Multicast)
• フラグメンテーション済みの
パケットのみ物理へ送信
(Jumbo Packet 課題への回答)
• サブネット間通信用の
仮想ゲートウェイファンクション
15
複数サブネット内の Routing (異なる VSID 間の通信)
ルーティングドメインと呼ばれる仕組みが存在
Routing Domain ID1
サブネット 1
VSID 1
サブネット 3
VSID 3
サブネット 2
VSID 2
Routing Domain ID 2
サブネット 1
VSID 4
サブネット 2
VSID 5
サブネット 3
VSID 6
VSID が異なる仮想ネットワークであっても Routing Domain ID が
同一であれば通信可能
Routing は仮想化モジュールが実施
16
PowerShell の表示フォーマットを変えると・・・
※ GW というのが、論理的なゲートウェイファンクション
※ 仮想マシンのような実態は無い
17
※ Windows Server 2012 R2 登場で本気度
NVGRE ゲートウェイ機能も OS が提供
インターネット
ブルー社 サイト 1
BGP
ブルー社
仮想ネットワーク
o マルチテナント
サイト間ネットワーク
ブルー社 サイト 2
レッド社
仮想ネットワーク
レッド社 サイト 1
Gateway
クラスタ
グリーン社
仮想ネットワーク
グリーン社 サイト 1
グリーン社 サイト 2
o BGP ルート ラーニング &
ベストパス ルーティング
o マルチテナント NAT
インターネットアクセス
o ゲートウェイの可用性
クラウド
データセンター
19
ゴールは Azure そっくりな VPN による接続
フロントエンド
Subnet
(10.3.1.0/24)
S2S VPN トンネル
仮想ネットワーク
ゲートウェイ
DNS Subnet
(10.3.2.0/24)
IIS Servers
AD
バックエンド
Subnet
(10.3.3.0/24)
20
ダイレクトルーティングという選択肢も提供
VPN ではない接続も可能
研究開発部門用
独自ネットワーク
(非仮想ネットワーク)
研究開発部門用
プライベートクラウド
(仮想ネットワーク)
一般ユーザー用
社内ネットワーク
社内データセンター
21
Windows Server 2012 R2 その他の新機能
OS の仮想ネットワークへの対応強化
ハイブリッド フォワーディング
• NVGRE ゲートウェイ機能の提供
• Cisco Nexus 1000V
• 仮想ネットワークの診断機能の提供
• NEC Programmable Flow
• 他のネットワーク拡張との併用・・・
IP アドレスの動的な認識
• 仮想ネットワークでの IP アドレス手動設定
• 仮想ネットワーク上でのネットワーク定義を自由に
• ユニキャスト or マルチキャストでの情報同期
パフォーマンスの向上
• NIC チーミングの完全なサポート
• NVGRE タスク オフロードに対応した NIC
22
22
ハードウェアオフロードも開始
【出展】Mellanox
ConnectX-3 Pro
Gateway appliances
【出展】Emulex NVGRE optimized VNeX
OMI-based
top-of-rack switch
Chipset
extensions
ハードウェアを巻き込む
新しいネットワーク基盤
23
SDN コントローラーとして System Center が進化
System Center
Virtual Machine Manager
の出番
• ソフトウェア的に定義
• ソフトウェアで制御
Hyper-V 1
Hyper-V 2
Hyper-V 3
Hyper-V 4
Hyper-V 5
25
25
SCVMM によるネットワークの設定 (2段階の設定画面)
Customer Address : CA
直接接続
「VMとサービス」
の
VM ネットワーク
分離 (仮想化)
分離 (仮想化)
Provider Address : PA
論理ネットワーク
vSwitch
「ファブリック」
の
論理ネットワーク
SCVMM = System Center Virtual Machine Manager
26
論理ネットワーク設定 =物理ネットワーク側の構成
DNS サーバーや
ゲートウェイ設定も
※ DHCP サーバー無しで
ネットワークを制御
27
VMマシン用のネットワーク環境の管理
IPアドレスプールも各仮想ネットワーク毎に管理
DHCP クライアントにも対応
28
ネットワーク仮想化設定済みの仮想マシンテンプレート
ネットワーク
事前定義
仮想マシン内には静的な IP アドレスを
自動的に割り当てることができる
(IPプール化)
Windows & Linux
テンプレート
作成
HW スペック
事前定義
(SS,S,M,L,XL)
OS 環境
事前定義
(管理パスワードや
ドメイン参加等)
29
DHCP クライアントに対しても自動対応
DHCP クライアントにも対応
DHCP クライアントからの
要求に反応し、SCVMM 上の
IP プールから自動割り当て
Hyper-V 拡張スイッチ用の Extension が VMM Agentと共にインストールされる
30
SCVMM プロファイルの有効活用
各種設定の繰り返し作業を削減
人的な設定ミスも削減
ハードウェア プロファイル
(Network を事前設定)
OS プロファイル
(ドメイン参加などを事前指定)
31
SCVMM による NVGRE ゲートウェイ管理と設定
NVGRE Gateway は
4 種類の接続形態に対応
・サイト間 VPN
・サイト間 VPN + BGP
・NAT
・ダイレクトルーティング
32
Linux マシンも Windows Server 同様に自動展開可能
• ホスト名
• IP アドレス
• Root パスワード
• SSH キー
• RunOnce
33
① Hyper-V & System Center で作る仮想化基盤構築
App Controller
(セルフサービス ポータル)
オプション
System Center
Virtual Machine Manager
(基盤管理とVM の展開)
Cloud
A
Hyper-V
テンプレートから仮想マシンを
クラウドに作れるようにする
Cloud
B
Hyper-V
Hyper-V
Cloud
E
Cloud
D
Cloud
C
Hyper-V
Hyper-V
Hyper-V
35
ここでいうクラウドとは SCVMM 管理下の論理境界
~ 仮想マシンはホストではなくクラウドに配置可能 ~
管理画面
各クラウドは容量制限可能
サービス展開時
36
② そこに Windows Azure Pack をかぶせて使う
System Center
同梱
仮想マシン
クラウド管理者 UI
SCVMM による
ネットワーク
(SDN 連携)
クラウドとテナント管理
クラウド利用者 UI
Windows Azure Pack
(ダウンロード)
37
Microsoft Azure で培った利用者目線の UI を容易に実現
利用者画面
Microsoft Azure そっくりな
インターフェイス
利用を促すために作られた UI の活用
38
SDN もそのまま利用可能
ネットワーク設定は
利用者の手で可能に
39
オーバーレイネットワークのサービス化と SCVMM 管理画面
ここをサービス化
利用者が自ら作成(設定)し利用可能に
直接接続
「VMとサービス」
の
VM ネットワーク
分離 (仮想化)
vSwitch
「ファブリック」
の
論理ネットワーク
分離 (仮想化)
論理ネットワーク
(物理ネットワークに意味づけ)
vSwitch 2
40
まとめ
ネットワークの仮想化や SDN は・・・
仮想化エンジニアには、もはや避けて通れない道です。
マイクロソフトの実装は・・・
サーバー仮想化に寄り添うように作られています。
その上で何をするか ? が重要だと思っているからです。
マイクロソフトの SDN はすぐにでも活用できます !!
42
(参考) Top of Rack スイッチ管理の PowerShell による自動化
データセンター内の
サーバー仮想化に関わる
ネットワーク系の管理は
Windows Server が
大幅にカバーしていく
http://www.atpress.ne.jp/view/37155
アリスタネットワークスはマイクロソフト社と緊密に協力
してOMIを実装し、OMI規格に基づき、Windows Azureの
クラウド管理要件を満たす管理を可能にしました。
44
Windows Server 2012 R2 & System Center 2012 R2 が不安な方へ
最新ホワイトペーパーを一気に公開予定 !
http://technet.microsoft.com/ja-jp/cloud/
タイトル
タイトル
Windows Server 2012 R2 Preview
& System Center 2012 R2 評価ガイド
System Center 2012 R2 Operations Manager
ステップバイステップ評価ガイド
Windows Server 2012 R2 フェールオーバー
クラスタリング 構築・運用・管理ガイド
System Center 2012 R2 Orchestrator,
Service Manager ステップバイステップ評価ガイド
Windows Server 2012 R2
高信頼ファイル サーバー構築ガイド
Windows Azure Services for Windows Server
ステップバイステップ評価ガイド
Windows Server 2012 R2記憶域スペースの
アーキテクチャーと設計・管理のベストプラクティス
Windows Server 2012 R2 ネットワーク仮想化 (SDN)ステッ
プ バイ ステップ評価ガイド
Hyper-Vベースの仮想環境評価ガイド
Windows Server 2012 R2 マイグレーションガイド
無償評価版はこちら:Windows Server 2012 R2 & System Center 2012 R2
http://technet.microsoft.com/ja-jp/evalcenter/dn205286.aspx
Windows Azure を
使った評価も可能
45
製品のコツ
設計のコツ
がここに。
Windows Server 2012 R2 と
System Center 2012 R2 対応
現場目線の書籍がついに登場 !
好評発売中 !
46
書籍「NVGREのすべて」発売開始!!
•
•
•
ハードウェア非依存
Hyper-V と System Center で実現
OpenFlow に代わる第2の SDN
47
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the
part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.