はじめに
自宅ラボで頻繁に行う Nested ESXi の仮想マシン作成を簡略化したいと考え、 PowerCLI で作成するようにしたため、備忘のため記事に書く。
この記事を読んで欲しい人
- Nested ESXi の仮想マシン作成を Power CLI で行いたいと考えている人
Nested ESXi 仮想マシンの構成
以下構成の仮想マシンを作成する。
設定項目 | パラメータ | 変数 | 設定値 |
---|---|---|---|
コンピューティングリソース | -VMHost | esxhost1 | lab-esxi-101.lab.internal |
データストア | -Datastore | datastore1 | lab-esxi-101-local-01 |
仮想マシン名 | -Name | esxi1 | esxi-021 |
CD/DVDドライブ | -CD | - | CD/DVDドライブを追加 |
ハードディスク | -DiskGB | - | 40 (GB) |
ハードディスク タイプ | -DiskStorageFormat | - | Thin (シン プロビジョニング) |
メモリ | -MemoryGB | - | 32 (GB) |
CPU | -NumCpu | - | 12 (vCPU) |
ポートグループ | -NetworkName | - | n-mgmt-pg |
ゲストOS | -GuestID | - | vmkernel8Guest (VMware ESXi 8.0 or later) |
アダプタ タイプ | -Type | - | Vmxnet3 |
MAC アドレス | -Type | - | 00:50:56:aa:00:21 |
ハードウェア仮想化 | - | - | 有効 |
ファームウェア | - | - | EFI |
Nested ESXi 仮想マシン作成
キーボードの [Windows] + [X] でシステムメニューを開き、 [A] キー を押下し、ターミナルを管理者として起動する
ターミナルがコマンド プロンプトで起動している場合、以下のコマンドで PowerShell を起動する
powershell
Connect-VIServerで<vCenter Server FQDN>、vCenter Serverの<ユーザー名>、<パスワード>を指定し、 vCenter Server に接続
Connect-VIServer -Server lab-vcsa-100.lab.internal -User "administrator@vsphere.local" -Password "P@ssw0rd" -force
Name Port User ---- ---- ---- lab-vcsa-100.lab.internal 443 VSPHERE.LOCAL\Administrator
仮想マシン作成用の変数を指定
$esxhost1 = "lab-esxi-101.lab.internal" $datastore1 = "lab-esxi-101-local-01" $esxi1 = "esxi-021"
仮想マシンを作成
New-VM -Name $esxi1 ` -VMHost $esxhost1 ` -CD ` -Datastore $datastore1 ` -DiskGB 40 ` -DiskStorageFormat Thin ` -MemoryGB 32 ` -NumCpu 12 ` -NetworkName "n-mgmt-pg" ` -GuestID vmkernel8Guest ` | Get-NetworkAdapter | Set-NetworkAdapter -Type Vmxnet3 -MacAddress "00:50:56:aa:00:21" ` -Confirm:$false
Name Type NetworkName MacAddress WakeOnLan Enabled ---- ---- ----------- ---------- --------- Network adapter 1 Vmxnet3 n-mgmt-pg 00:50:56:aa:00:21 True
[ハードウェア アシストによる仮想化をゲスト OS に公開]、[ファームウェア]設定を変更
$VM = Get-VM -Name $esxi1 $vm_config_spec = New-Object VMware.Vim.VirtualMachineConfigSpec # ハードウェア アシストによる仮想化をゲスト OS に公開 を有効化 $vm_config_spec.NestedHVEnabled = $true # ファームウェアを EFI に指定 $vm_config_spec.Firmware = "efi" # 設定変更 $VM.ExtensionData.ReconfigVM($vm_config_spec)
環境
- vSphere ESXi 8.0.3 ( Build:24674464 )