Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nutanix AHVのメモリオーバーコミット

Nutanix AHVのメモリオーバーコミット

Nutanix Meetup 21.11の発表資料です。
https://nutanix.connpass.com/event/229194/

このセッションの動画はNutanix Japan 公式 YouTubeチャンネルでご覧いただけます。
https://youtu.be/hUlrgli9x4c

【関連資料】
AHV Administration Guide
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_0:ahv-vm-overview-memory-overcommit-c.html

Satoshi Shimazaki

December 03, 2021
Tweet

More Decks by Satoshi Shimazaki

Other Decks in Technology

Transcript

  1. はじめに • 本資料は、 年 月時点における弊社の一般的な製品機能の概要を説明を主目的とするものです。 • 本資料は情報提供を唯一の目的とするものであり、法律的またはその他の指導や助言を意図したも のではなく、いかなる契約にも用いることはできません。 • 本資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状」で

    提供され、明示的または暗示的に関わらず、いかなる保証も伴わないものとします。 • 本資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害か生し た場合も、 及びニュータニックス・ジャパン合同会社は責任を負わないものとします。 • 本資料で提供する情報やマテリアル、機能を確実に提供することを確約するものではありません。 • 弊社製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により 決定されます。 • 本資料で説明されている機能や実装については、予告なく変更される場合があります。
  2. メモリオーバーコミットとは • 仮想化環境において、ハイパーバイザー上のゲスト に対して、 物理メモリ容量を超える総量のメモリを割り当てること • メモリオーバーコミット機能が無いと? • 各ゲスト は、自身に割り当てられたメモリ領域を占有する

    • ゲスト の起動を指示した際に、物理メモリの空き領域が、 ゲスト に対して設定されたメモリ容量よりも小さいと ゲスト の起動に失敗する • メモリオーバーコミットがあると? • ゲスト の起動を指示した際に、物理メモリの空き領域が 不足していると、どうにかしてメモリの空き領域をねん出する
  3. におけるメモリオーバーコミット • システム要件 • 以降 ドライバー • 仕組み • バルーニングとホストスワップの

    段構え • が制御を行う • アリスモス メモリ統計情報の提供 エンジン • ラザン 統計情報の取得と確認、スケジューリングの決定、指示 • メモリの使用量 使用可能 未使用 ワーキングセットサイズ スワップ状況等を元に オーバーコミットに使用するメモリ領域の総量や、 毎の割り当て量を動的に決定 • 使用方法 • 名 • ホストスワップ
  4. におけるメモリオーバーコミット • バルーニング • メモリオーバーコミットが必要になると、 バルーンドライバ が ゲスト 内部でメモリを確保 ≒膨張

    • 確保したメモリを の メモリプールに返却 • ゲスト が自身のメモリ枯渇状態を 正しく認識した上でプロセスを 制御するため、パフォーマンスへの 影響は比較的小さい 1 ゲスト メモリ 物理 メモリ 起動したい 空き領域 不足!
  5. におけるメモリオーバーコミット • バルーニング • メモリオーバーコミットが必要になると、 バルーンドライバ が ゲスト 内部でメモリを確保 ≒膨張

    • 確保したメモリを の メモリプールに返却 • ゲスト が自身のメモリ枯渇状態を 正しく認識した上でプロセスを 制御するため、パフォーマンスへの 影響は比較的小さい 1 ゲスト メモリ 物理 メモリ
  6. におけるメモリオーバーコミット • バルーニング • メモリオーバーコミットが必要になると、 バルーンドライバ が ゲスト 内部でメモリを確保 ≒膨張

    • 確保したメモリを の メモリプールに返却 • ゲスト が自身のメモリ枯渇状態を 正しく認識した上でプロセスを 制御するため、パフォーマンスへの 影響は比較的小さい 1 ゲスト メモリ 物理 メモリ 起動成功!
  7. におけるメモリオーバーコミット • ホストスワップ • 何らかの理由でバルーニングが できない場合の最終手段 • ノードあたり つのスワップディスク •

    実体は に自動的に作成される • 最大で物理メモリ容量の 倍 • ゲスト は自身のメモリの どの部分がスワップ領域上にあるか 認識しないため、パフォーマンスの 面ではリスクが大きい • ホストスワップ 1 ゲスト メモリ 物理 メモリ ホスト スワップ
  8. におけるメモリオーバーコミット • ホストスワップ • 何らかの理由でバルーニングが できない場合の最終手段 • ノードあたり つのスワップディスク •

    実体は に自動的に作成される • 最大で物理メモリ容量の 倍 • ゲスト は自身のメモリの どの部分がスワップ領域上にあるか 認識しないため、パフォーマンスの 面ではリスクが大きい • ホストスワップ 1 ゲスト メモリ 物理 メモリ ホスト スワップ
  9. [root@PHX-POC181-1 ~]# iscsiadm -m session tcp: [1] 127.0.0.1:3261,1 iqn.2010-06.com.nutanix:host-swap-4afca91c-b7f2-4410-bf5e-cc09d1b6a53e (non-flash)

    [root@PHX-POC181-1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdf 8:80 0 188.8G 0 disk [SWAP] sdd 8:48 0 188.8G 0 disk [SWAP] sdb 8:16 0 188.8G 0 disk [SWAP] sdi 8:128 0 188.8G 0 disk [SWAP] sdg 8:96 0 188.8G 0 disk [SWAP] sde 8:64 0 188.8G 0 disk [SWAP] sdc 8:32 0 188.8G 0 disk [SWAP] sda 8:0 0 59.6G 0 disk mqsda1 8:1 0 59.6G 0 part / sdh 8:112 0 188.8G 0 disk [SWAP] [root@PHX-POC181-1 ~]# lsblk -S NAME HCTL TYPE VENDOR MODEL REV TRAN sdf 10:0:0:2 disk NUTANIX VDISK 0 iscsi sdd 10:0:0:6 disk NUTANIX VDISK 0 iscsi sdb 10:0:0:0 disk NUTANIX VDISK 0 iscsi sdi 10:0:0:5 disk NUTANIX VDISK 0 iscsi sdg 10:0:0:3 disk NUTANIX VDISK 0 iscsi sde 10:0:0:1 disk NUTANIX VDISK 0 iscsi sdc 10:0:0:7 disk NUTANIX VDISK 0 iscsi sda 3:0:0:0 disk ATA SATADOM-SL 3IE3 305N sata sdh 10:0:0:4 disk NUTANIX VDISK 0 iscsi [root@PHX-POC181-1 ~]#
  10. 注意点 • パフォーマンスへの影響 • バルーニングすることでインメモリキャッシュが減る • スワップ領域= • メモリを確保するために他のリソースが犠牲になる •

    現バージョンでは での設定や監視がない • 順次実装される見込み • 制限事項 • 設定変更は対象ゲスト がオフの状態で • メモリの は不可 • パススルー、 の利用は不可 • クラスター間ライブマイグレーション不可 その他の 機能は利用可
  11. まとめ • におけるメモリオーバーコミットは が初出なので、 次の が登場するまでに諸々整備されるのでは? と個人的に思っています • メモリはケチらず余裕をもって搭載するのが鉄則 •

    メモリオーバーコミットというアプローチ自体が前時代的 • メモリは のソフトウェア価格にも跳ね返らない • どうしてもメモリオーバーコミットするなら、 「スローダウンしてもいい」 を対象に • ドキュメント •