Windows Server 2012 R2 Hyper-V を理解する!

Windows Server 2012 R2
Hyper-V を理解する!
阿部 直樹(Naoki ABE)
Microsoft MVP – Hyper-V
自己紹介
• 阿部 直樹( Naoki ABE )
• マイクロソフト認定トレーナー
• エディフィストラーニング株式会社所属
• 主な担当分野
• Windows Server (AD,Network,Security,Cluster,Hyper-V)
• System Center
• Lync
• Microsoft MVP – Virtual Machine
( Apr.2010 - Mar.2015 )
• Blog : MCTの憂鬱<http://naonao71.wordpress.com/>
アジェンダ
• Part1
• Part2
• Part3
• Part4
• Part5
• Part6
Hyper-V の基礎知識
CPU(プロセッサ)
メモリー
ディスク
ネットワーク
その他
Part1
Hyper-V の基礎知識
Hyper-V インストール要件
• BIOS
• ハードウェア仮想化支援
• Intel Virtualization Technology
(Intel VT)
• AMD Virtualization(AMD-V)
• ハードウェア実行防止(DEP)
• INTEL XD ビット(exclude disable
bit)
• AMD NX ビット(no execute
bit)
• 64 ビットプロセッサ
Hyper-V アーキテクチャ
親パーティション
VMサービス
WMIプロバイダ
子パーティション
VMワーカープロ
セス
ホストOS
ゲストOSアプリ
ゲストOSアプリ
ゲストOS
(Windows Server 2008/2003)
カーネル
デバイスドライバ
ゲストOSアプリ
VSC
ゲストOSアプリ
ゲストOS
(Xen Linux)
Hypercall
Adapter
Linux VSC
ゲストOSアプリ
ゲストOSアプリ
ゲストOS
(その他OS)
ハードウェアエミュレーション
VSP
VMBus
カーネル
仮想マシンA
Windows Hypervisor
物理マシン
仮想マシンB
仮想マシンC
ブートローダーの変化
• Hyper-V を導入することにより次
の項目が追加されハイパーバイザ
が起動する
• Hypervisorlaunchtype Auto
リソースの配分管理
リソース
パラメーター
プロセッサ
予約、限度、相対的な重み
メモリ
スタートアップ RAM、最少 RAM、最大 RAM、メモリバッファー、メモリの重み
ディスク I/O
ストレージ QoS
(サービス品質)
ネットワーク I/O
帯域幅管理
仮想マシンの構成情報
ペアレントOS
構成ファイル
構成情報
(.xml)
状態情報
(.VSV)
メモリ情報
(.bin)
仮想マシン
構成要素
プロセッサー
ネットワーク
仮想ディスク
(.vhd)
スナップショット
(.avhd)
メモリ
ディスク
各種リソースのアップデート確認
Part2 プロセッサ
プロセッサの管理
論理プロセッサ1
仮想プロセッサ数:4
物理プロセッサ1
仮想マシン1
論理プロセッサ2
論理プロセッサ3
物理プロセッサ2
仮想プロセッサ数:2
仮想マシン2
論理プロセッサ4
サーバに搭載されたプロセッサ・コア数 ≧ 仮想マシンに設定するVPの総数が推奨
ちなみに、ExchangeサーバーではLP:VP=1:2までサポートする
Windows Server 2012 のサポートCPU数
• 日本語サイト
• http://technet.microsoft.com/ja-jp/library/hh831531.aspx
• Windows Server 2008 with Service Pack 2 (SP 2)・・・8
• 英語版サイト
• http://technet.microsoft.com/en-us/library/hh831531.aspx
• Windows Server 2008 with Service Pack 2 (SP 2)・・・4
Windows Server 2008 R2 では最大 VP は 4つまで。しかし、Windows Server 2012 より VP は最大 64
までサポートした。しかし、ゲスト OS としての Windows Server 2008 は 4 つまでのサポートとなる。ただし、設
定は可能である。動作することとサポートすることは異なる。
AMD と Intel 間での移行
• CPU の互換性の設定は、同じ
メーカーの製品で世代が異なる際
に使用する
• Intel と AMD での CPU の違いを
吸収するものではない
• 主に同一メーカーの世代が異なる
CPU 上で、ライブマイグレーションを
行う場合に使用する
• 状態情報(.vsv)には CPU 情
報やネットワーク情報が入っている。
• .bin や .vsv ファイルは VM 起動時
に作成される
• VM を停止し(.bin や .vsv ファイ
ルがない状態)、エクスポートする。
異なる CPU ホストで インポートする
NUMA 設定
SMP (対称型マルチ プロセッシング)
• 1 個のメモリ コントローラが、
全てのプロセッサとメモリを接
続している。
• どのプロセッサも、メモリ全体
に同じ速度でアクセスできる。
• プロセッサ数が少ないうちは、
これで問題なかった。
コア
コア
プロセッサ
コア
コア
プロセッサ
チップセット
(メモリ コントローラー)
プロセッサ増加による課題
• プロセッサが増え
るとメモリへの経
路がボトルネック
になる
• 多くのプロセスのそ
れぞれが、広大な
メモリ空間の大部
分をなめるように
アクセスすることは
少ない
• 参照の局所性
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
コア
プロセッサ
プロセッサ
プロセッサ
チップセット
(メモリ コントローラー)
プロセッサ
NUMAアーキテクチャ(Nehalemなど)
NUMA ノード
NUMA ノード
(
(
チ
ッ
プ
セ
ッ
ト
コア
コア
コア
コア
プロセッサ
Interconnect
コア
コア
コア
コア
プロセッサ
メ
モ
リ
コ
ン
ト
ロ
ー
ラ
ー
チ
ッ
プ
セ
ッ
ト
)
)
メ
モ
リ
コ
ン
ト
ロ
ー
ラ
ー
Hyper-V on Windows Server 2008 R2
• ハイパーバイザは NUMA を認識
• VM 配置時に NUMA ノードを考
慮。
• 可能な限り、NUMA ノードをまたが
ないように VM のメモリを確保する
• 単一NUMAノード内で足りない場
合は「NUMA ノードにまたがるメモ
リ割り当て」の設定によって挙動が
変わる
• ON の場合
• 単一の NUMA ノード内でメモリを
確保できなかった場合は、ノードをま
たいでメモリを確保する
• メモリに空きがあれば、 NUMA ノー
ドの大きさを超える「大きな VM」も
配置できることになる
• OFF の場合
• NUMA ノードをまたぐメモリ割り当て
は行わない
• 「システム全体でみればメモリが空い
ているように見えるが、 VM を起動
できない」ことがあり得る
Hyper-V on Windows Server 2008 R2
物理マシン
仮想マシン
NUMA ノード 0
NUMA ノード 0
コア
コア
NUMA ノード 1
コア
VM
作成
コア
• Windows や SQL
Server のような
“NUMA-aware” ソ
フトウェアがその能力を
発揮できない
• NUMA ノードをまたい
だメモリもローカルであ
るように見える
• 通常は「OFF」として
設定
Hyper-V on Windows Server 2012
物理マシン
物理マシン
NUMA ノード 0
NUMA ノード 0
コア
NUMA ノード 1
コア
コア
VM
作成
NUMA ノード 1
コア
• NUMA ノードまたぎを
過度に避ける必要はない
• 通常は「ON」として設定
• ただし、動的メモリを使用
する場合は単一 NUMA
として認識される
• 動的メモリを使用する場
合は「OFF」として設定
Part3 メモリー
動的メモリ
• 動的メモリ設定を行うことにより、
物理マシンに搭載されている最大
メモリ量以上のメモリを VM に割り
当てることが可能
• 動的メモリの最大 RAM は 1T の
設定になっている
動的メモリの動作
• スタートアップ RAM
• VM 起動時に割り当てる RAM
• 最大 RAM
• 物理マシンに存在する RAM で割
り当て可能な容量がある場合は、
VMからの要求により設定した容量
まで割り当てる
• 最小 RAM
• VM でのメモリ使用量が少なくなる
と使用していないメモリを、設定した
容量までホストに返却する
ホストの予約メモリー
• Hyper-V ホストが使用するメモリ
を予約
• Windows Server 2012 以降は
自動調整するので設定はしないほう
がよい
• Windows Server 2008 R2 では
レジストリで設定する必要がある
• レジストリで予約可能
• キー:HKEY_LOCAL_MACHINE¥
SOFTWARE¥Microsoft¥Windo
ws
NT¥CurrentVersion¥Virtualizat
ion
• 値の名前 (型):
MemoryReserve (DWORD値)
• 値のデータ: 管理用 OSに予約する
メモリ サイズ (MB)
スマートページング
• スマートページングは、動的メモリを使用時、物理メモリ不足で仮想マシン
を起動できない状況を回避する機能
• 主にVDI(Virtual Desktop Infrastructure)環境などでの使用をターゲットと
した機能
• 一時的な追加のメモリとしてディスク上のスマートページングファイルを使用
• スマートページングが使用される条件
 仮想マシンの再起動
 使用できる物理メモリが不足
 ホスト上で実行されている他の仮想マシンにも、再利用できるメモリがない
Part4 ディスク
仮想ハードディスク
IDE と SCSI
IDE
SCSI
• 接続デバイス
• 接続デバイス
• ハードディスク
• DVD/CD
• 1 コントローラーあたり 2 デバイスサ
ポート
• 2 コントローラーまで接続可能
• 起動サポート
• ハードディスク
• 1 コントローラーあたり 64 台までサ
ポート
• 4 コントローラー まで接続可能
• ホットアド対応
仮想マシンが起動した状態でディ
スクを追加可能
AFT(Advanced Format Technology)
• AFT は HDD の容量拡大を目的
とした高密度化に伴い、セクタサイ
ズを4Kバイトに変更し、512 バイト
セクタを論理セクタとしてエミュレー
ションする技術
• Windows Server 2008 以降の
OS で対応
• Hyper-V の VHD は 512 バイトで
の I/O
• VHD は 1 セクター 512 バイトまで
の対応なので 4K ネイティブディスク
では使用不可
セクターあたりの 物理セクターあ
バイト数
たりのバイト数
種類
4096
4096
ネイティブの 4 K
512
4096
512エミュレーショ
ン
512
512
ネイティブの 512
Read-Modify-Write
• 書き込みされる512バイトの論理
セクタが含まれる4Kbの物理セク
ター全体をキャッシュに読み込む
• 4Kbのキャッシュの中に含まれる、
書き込み対象の512バイトを更新
する
• 更新した4Kbのキャッシュ全体を
ディスクの物理セクターに書き込む
出典:大容量ディスクとセクター サイズ拡大に対応する Windows 8
http://blogs.msdn.com/b/b8_ja/archive/2011/12/02/windows-8-enablinglarge.aspx
VHD と VHDX
VHD
VHDX
• 以前のバージョンから使用されてい
る仮想ディスクフォーマット形式
• 2 T バイトまで対応
• OS レベルではAFTに対応していて
も、VHD が対応していないのでパ
フォーマンスの劣化が起こる
(KB2515143)
• Windows Server 2012 より採
用された新しい仮想ディスクフォー
マット形式
• 64 T バイトまで対応
• 4Kbytesセクタ(AFT)のサポー
ト
• KB では約 30 % の劣化が起こると
記載
• 内部データ構造を4Kbytes境界に
配置することにより、AFT形式のディ
スクでのパフォーマンス低下を抑止
Part5 ネットワーク
仮想ネットワーク
外部
内部
プライベート
HOST
HOST
VM
VM
VM
VM
VM
VM
vNIC
vNIC
vSW
NIC
SW
vSW
vSW
Hyper-V ネットワーク構成時のポイント
物理マシン
Windows Server
2012
NIC をホストと
VM で共有可能
Hyper-V シンプル構成
HOST
HOST
VM
VM
vNIC
VM
vSW
vSW
NIC
NIC
NIC
NIC
NIC
SW
SW
SW
SW
SW
VM
管理オペレーティングシステムにこの
ネットワークアダプタの共有を許可する
帯域幅管理
• 仮想マシンのNIC単位でネット
ワークの帯域幅を調整
• 帯域幅設定の変更は実行中
の仮想マシンに対しても可能
• 最少帯域幅を設定した仮想
マシンは、ホスト側でその帯域
を確保できない場合、起動や
ライブマイグレーション、フェール
オーバーなどに失敗する
• アウトバウンドでの制御
• Set-VMNetworkAdapter
コマンドレッドでの制御
MACアドレスのスプーフィング
セキュアモード(OFF)
セキュアレスモード(ON)
1. 仮想ネットワークに設定されたMACアドレスの
みが自分が送るパケットの唯一の送信元
MACアドレスになる
2. 仮想マシンは宛先MACアドレスが登録された
MACアドレスのユニキャストのみを受信する。
そのMACを宛先とするパケットは他のポートに
フラッディングされることはない
3. 仮想スイッチは学習するのでルーティングテー
ブルを含む様々な内部構造をメンテナンスす
る。仮想マシンを起動し仮想ネットワークが起
動したらルーティングテーブルに自分のMACア
ドレスを登録し、他のポートに移動しないよう
にする
4. トラフィックがスイッチによってフラッディングされる
必要がある場合、セキュアモードになっている
そのポートに対しては行われない
5. 仮想マシン内のMACアドレスは上書きはされ
ない
1. 仮想マシンはすべてのMACアドレスのトラ
フィックを送受信する
2. 仮想マシンはフラッディングされたユニキャストパ
ケットを受信する
3. ポートに対して複数のMACアドレスを学習さ
せることができる。またルーティングテーブルはス
イッチポートを通過した時点で学習される
4. 仮想マシンはMACアドレスを上書きできる
ネットワークポートの高度な機能
機能
説明
DHCPガード
不正なDHCPサーバーとして動作する仮想マシンからのDHCPパケットが、ネット
ワークに流れることを防ぐ
ルーターガード
不正なルーターとして動作する仮想マシンからの、ルーターアドバタイズメッセージおよ
びリダイレクトメッセージをブロックする
ポートミラーリング
仮想マシンが送受信するパケットをコピーし、監視用仮想マシンが接続するスイッチ
ポートに転送する
保護されているネットワーク
ホスト クラスター上で動作している仮想マシンでネットワークが切断された場合、そ
の仮想マシンを別のクラスターノードに移動する
仮想ポートACL
仮想マシンが通信できるコンピューターを制限したり、通信量を測定したりすることが
できる
MAC アドレス
• 仮想マシンに割り当てられる
MAC アドレスは次のアルゴリズム
で生成される
• ホストIPの第 3、4 オクテットを16
進数に変換し、先頭に「00-155D」を付与する
• 例としては
• ホストの IP アドレスが
192.168.10.200 の場合
• 00-15-5d-0a-c8-00から00-155d-0a-c8-ffの範囲
レガシーネットワークアダプター
• PxE ブートをサポートするのは「レ
ガシネットワークアダプター」のみ
• ネットワークアダプターはサポートしな
い
• PxEブート起動するには
• スタートアップ順序で「レガシネット
ワークアダプター」を上位にする
• IDE にハードディスクを接続
VMQ(仮想マシンキュー)
Host
VM
VM
Virtual Switch
ルーティング
VLANフィルタリング
データコピー
vNIC
VMBus
VMBus
Q1
Q2
デフォルト
キュー
スイッチ/
ルーティングユニット
vNIC
SR-IOV(シングルルートI/O仮想化)
Host
VM
Virtual Switch
SR-IOV
VF
driver
SR-IOV NIC
VM
SR-IOV
VF
Part6 その他
仮想マシンの世代
第1世代
第2世代 *1
ファームウェア
BIOS
UEFI *2
メモリ
○
○
プロセッサ
○
○
IDEコントローラー
○
×
SCSIコントローラー
○
○ *3
レガシーネットワークアダプター
○
×
ネットワークアダプター
○
○ *4
ファイバーチャネルアダプター
○
○
COMポート
○
×
フロッピーディスクドライブ
○
×
*1
*2
*3
*4
Windows Server 2012以降、またはWindows 8 x64以降のみをサポート
セキュアブートに対応
ハードドライブおよびDVDドライブ接続、起動ディスクコントローラー対応
ネットワークブートをサポート
セキュアブート
• Secure Bootとは、UEFI(Unified Extensible Firmware
Interface)で規格化された技術で、OSの起動時にデジタル署名のあ
るソフトウェアのみ実行
従来のブートプロセス
BIOS
Any OS
Loader
Code
OS
Start
PC の OS 起動前の環境は、ブート ローダー ハンドオフを悪意を持つ可能性のあるローダーへとリダイレクトす
る攻撃に対して脆弱
セキュアブート
UEFI
Verified
OS Loader
Only
OS
Start
ファームウェア内に存在するポリシーと証明書を使用して、適切に署名および認証されたコンポーネント以外
は実行が許可されない
自動仮想マシンライセンス認証(AVMA)
• 仮想マシンの自動ライセンス認証(AVMA:Automatic
Virtual Machine Activation)
• Hyper-V ホスト がライセンス認証されていれば、そのHyper-V
ホスト上で稼働する仮想マシンも自動的にライセンス認証される
• Datacenterエディション :
Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW
• Standardエディション :
DBGBW-NPF86-BJVTX-K3WKJ-MTB6V
• Essentialsエディション :
K2XGM-NMBT3-2R6Q8-WF2FK-P36R2
①Hyper-Vホストの
準備
②仮想マシンの
作成
③仮想マシンの
起動時
DataCenter
エディションのキーでライ
センス認証
エディションごとの
固定キーを使用
自動ライセンス認証
④仮想マシンの再起動時、ま
たは7日ごと
自動ライセンス認証
拡張セッションモード
• 接続するコンピューターと仮想マシン間での、ファイルのコピー
• 接続するコンピューターのデバイスを仮想マシンにリダイレクト
•
•
•
•
サウンドカード
プリンター
ディスク
USBデバイス
• ゲストOSがWindows Server 2012 R2またはWindows 8.1である場合のみ
サポート
Q&A
•ご清聴ありがとうございました