nested環境のカスタマイズ

登壇者:ば~そん

前提条件

  • CPUが、仮想化支援機能(Intel-VTx,Intel-VT-i,AMD-Vなど)が必要
  • BIOSも対応している必要がある

Nestedとは

  • hypervisor の上に、hypervisorを導入する。入れ子構造。
  • ただし、仮想化支援機構がないとリソースをゲストマシンに渡せない。  ← ここ詳しくしたい
    • Intel製CPUを使用している場合は、BIOS/UEFi画面からIntel VT-xを有効化する必要がある。
    • AMD製CPUを使用している場合は、AMD-Vが必要である(デフォルト有効、無効化不可であるため設定不要。)
    • これらの技術により、リングプロテクションが拡張される。リングプロテクションについてはWikipedia 参照

ゲストOSへの仮想化支援機能公開の設定箇所

ESXi の場合

「ハードウェア アシストによる仮想化の公開 」を有効化して、CPU 仮想化機能をゲスト OS に公開する。 (VMware Docs) https://docs.vmware.com/jp/VMware-vSphere/6.7/com.vmware.vsphere.vm_admin.doc/GUID-2A98801C-68E8-47AF-99ED-00C63E4857F6.html 

VMware Player の場合

  • 設定ファイルを直接編集する vmx ファイルに、vhv.enable=TRUE を書き足すことで Nested VT-x 機能が有効になる。

その他の参考資料 ※セッション外

https://communities.vmware.com/docs/DOC-8970 

面白い使い方

ゲストOSに仮想SSDとして見せる

  • 物理ハードはHDDのだけど、ゲストOS側にはSSDとして見せることができる。

  • .vmxファイル(仮想マシンの設定)の中に、仮想SSDデバイスと記述(追記)する。 ex)仮想デバイスノードにSCSI(0.1)を選択した場合、scsi0:1.virtualSSD=1を追記する。

  • <参考リンク> https://www.virtuallyghetto.com/2013/07/emulating-ssd-virtual-disk-in-vmware.html 

ゲストOSに仮想NVMeとして見せる ※セッション外

 https://kb.vmware.com/s/article/2147714?lang=ja 

Nested ESXi 用 VMware Tools

参考資料

  • vSphere リソース管理ガイド

https://www.vmware.com/files/jp/pdf/vsp_40_resource_mgmt_ja.pdf 

メモリの共有(p.26)、メモリバルーニング(p.30)の分かりやすい図があります。

学んだこと(みんな残しましょう)

  • デフォルト状態で Nested VT-x モードが無効化されている
  • 構成ファイルはサクラエディター等で開いて人間が読める形になっている