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 機能が有効になる。
その他の参考資料 ※セッション外
-
<Hyper-V の場合> https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/user-guide/nested-virtualization
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
- VMwareの人が作っているが非公式!VMware Tools https://www.jtp.co.jp/techport/2016-04-13-002/
参考資料
- vSphere リソース管理ガイド
https://www.vmware.com/files/jp/pdf/vsp_40_resource_mgmt_ja.pdf
メモリの共有(p.26)、メモリバルーニング(p.30)の分かりやすい図があります。
学んだこと(みんな残しましょう)
- デフォルト状態で Nested VT-x モードが無効化されている
- 構成ファイルはサクラエディター等で開いて人間が読める形になっている