1 / 114

Effective Hyper-V R2 SP1 詳説 Dynamic Memory

セッション ID: T2-401. Effective Hyper-V R2 SP1 詳説 Dynamic Memory. マイクロソフト株式会社 コンサルティングサービス 統括 本部 佐々木邦暢 (ksasaki@microsoft.com). セッションの目的 Hyper-V R2 SP1 の新機能である 「 Dynamic Memory 」の設計思想と動作原理を解説します Dynamic Memory の実運用上の留意点を 解説します セッションのゴール ハイパーバイザーのメモリ管理技法について、製品に依存しない普遍的な知識を身につける

nuala
Download Presentation

Effective Hyper-V R2 SP1 詳説 Dynamic Memory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. セッション ID: T2-401 EffectiveHyper-VR2SP1詳説 Dynamic Memory マイクロソフト株式会社 コンサルティングサービス統括本部 佐々木邦暢 (ksasaki@microsoft.com)

  2. セッションの目的 Hyper-V R2 SP1 の新機能である「Dynamic Memory」の設計思想と動作原理を解説します Dynamic Memory の実運用上の留意点を解説します セッションのゴール ハイパーバイザーのメモリ管理技法について、製品に依存しない普遍的な知識を身につける Dynamic Memory の仕組みとその特徴を説明できるようになる セッションの目的とゴール

  3. ご注意 本セッションでは、 現在開発中の製品を取り扱っています。 仕様および機能は変更される可能性があります。

  4. アジェンダ • イントロダクション • いまさら聞けない「仮想メモリ」 • ハイパーバイザーのメモリ管理効率化技法 • Dynamic Memory 登場!

  5. 本日のテーマ

  6. Hyper-VR2SP1の新機能

  7. DynamicMemory

  8. 動的記憶

  9. なぜ必要?

  10. どんな仕組み?

  11. どう使う?

  12. 詳しく解説

  13. 最後のセッション

  14. #T2_401開始なう

  15. ハイパーバイザーの仕事とは

  16. そもそも

  17. ハイパーバイザーの仕事とは 物理的なリソースを抽象化(=仮想化)して複数の仮想マシンに効率よく配分 CPU ディスク メモリ NIC

  18. Hyper-Vの仕事を振り返ってみると

  19. CPUの仮想化 もし、CPUが仮想化されていなかったら VM1 VM2 VM3 ペアレントパーティション ハイパーバイザー ソケット 0 ソケット 1 コア 0 コア 1 コア 0 コア 1 これでは物理パーティショニング

  20. そこでプロセッサの仮想化 論理プロセッサ (LP) 上で複数の仮想プロセッサ (VP) が実行されるという仕組み

  21. CPU の仮想化 VM 2(2VP) VM 3(4VP) VM 1(2VP) ペアレントパーティション LP 0 LP 1 LP 2 LP 3 VP0 VP0 VP1 VP1 VP0 VP2 VP1 VP3 Root VP 0 Root VP 1 Root VP 2 Root VP 3 ハイパーバイザー ソケット 0 ソケット 1 コア 0 コア 1 コア 0 コア 1

  22. CPU の仮想化 OK

  23. ディスクの仮想化 もし、ディスクが仮想化されていなかったら VM1 VM2 VM3 ペアレントパーティション ディスク 0 ディスク 1 ディスク 2 ディスク 3 VM の台数分、ディスクが必要

  24. Virtual Hard Diskという仕組みを導入 • ホストOS上の.vhdファイル • 仮想マシンからはディスクドライブに見える • 動的拡張 VHD • 「実際に使った分だけ、ディスクを消費する」 • 容積効率の良い方式

  25. ディスクの仮想化 .vhdファイルで仮想的なディスクドライブ VM1 VM2 VM3 ペアレントパーティション .vhd .vhd .vhd 一台のディスクを複数のVMで共有

  26. ディスクの仮想化 OK

  27. ネットワークの仮想化 ネットワークが仮想化されていなかったら VM1 VM2 VM3 ペアレントパーティション NIC0 NIC1 NIC2 NIC3 NIC が何枚あっても足りない

  28. そこで仮想ネットワーク • 仮想ネットワーク (= 仮想スイッチ) • ホストに「仮想スイッチ」を作成 • VM は「仮想スイッチ」を介して通信 • 複数の VM が一枚の物理 NIC を共有し、同時にネットワークにアクセスできる

  29. ネットワークの仮想化 仮想スイッチで NIC を多重化 VM1 VM2 VM3 ペアレントパーティション 仮想スイッチ 一枚のNICを複数のVMで共有

  30. ネットワークの仮想化 OK

  31. メモリは?

  32. Hyper-V のメモリ管理 ホストが管理するメモリを固定的に割り当てるのみ VM 1 VM 2 VM 3 ペアレント パーティション ホストの メモリを 固定的に 割り当て

  33. わりと工夫がない

  34. 固定的な割り当ては無駄が出る 空いているメモリを集めれば もっとたくさんVMを実行できるのでは VM 4 VM 1 VM 2 VM 3 回収済み VM 2 の 空きメモリ 回収済み VM 3 の空きメモリ 回収済み VM 1 の空きメモリ 使用中 使用中 使用中

  35. メモリの効率的な管理が急務

  36. そこで Dynamic Memory 不足したら ひかえめに起動 メモリを追加 余れば回収 DM VM DM VM DM VM DM VM 700 MB 550 MB 512 MB 512 MB 追加 回収 空き 空き 空き 空き 使用中 使用中 使用中 使用中 回収したメモリを他の VM に追加して有効活用

  37. DEMO Dynamic Memory 基本動作

  38. これってオーバー コミット? • 他のハイパーバイザーだと、「オーバーコミット」という言葉がよく出てきますが • Hyper-V の Dynamic Memory は? • オーバーコミットなの?

  39. おおむねYES

  40. でも少し違うところもある

  41. Dynamic Memory の特徴 Hyper-V の Dynamic Memory ゲスト OS から「利用可能」に見えるメモリは常に実際の物理メモリに対応している ゲスト OS から見た「実装メモリ量」が動的に変化する ESX や KVM のオーバーコミット ゲスト OS から「利用可能」に見えるメモリは必ずしも実際の物理メモリの裏付けがない ゲスト OS から見た「実装メモリ量」は 常に一定

  42. この違いどこから?

  43. There’s more than one way… オーバーコミットにはいろいろなやり方がある ページ共有 バルーニング ホストページング(ハイパーバイザー スワップ) Hot-Addメモリ

  44. なぜこんなに色々な方式が? CPUやディスク、NIC の仮想化は、 どのハイパーバイザーも基本的には同じ方式 メモリだけは、リソースの効率的な利用方式がイロイロあるのはなぜ?

  45. それを理解するには

  46. 急がば回れで「仮想メモリ」 各種オーバーコミット方式の特質と得失をより良く理解するには OS の仮想メモリ機構に関する基礎知識が有用 去年は Live Migration の前に クラスターのおさらいをしましたが 今年は Dynamic Memory の前に、仮想メモリを再確認

  47. いまさら聞けない「仮想メモリ」

  48. メモリはすでに仮想化済 メモリやディスクという記憶域リソースを仮想化し個々のプロセスに専用のアドレス空間を割り当てる プロセス A プロセス B プロセス C プロセス D 仮想メモリ 仮想メモリ 仮想メモリ 仮想メモリ メモリ マネージャー (MM) 物理メモリ ページ ファイル pagefile.sys

  49. プロセスの仮想アドレス空間 ポイントは「自分専用のメモリ空間が持てる」こと x86: プロセス毎に4GB x 64: プロセス毎に 16TB! FFFF FFFF (32 ビット) FFFF FFFF FFFF FFFF (64 ビット) カーネル空間 (上位 2 GB) カーネル空間 (上位 8 TB) それはそれは広大な未使用空間 ユーザー空間 (下位 2 GB) ユーザー空間 (下位 8 TB) 0 0

More Related