自宅ラボで繰り返し行う Nested ESXi の仮想マシン作成を PowerCLI で楽に行う。

Nested ESXi の仮想マシンを Power CLI で作成する

/
2 min read

はじめにh2

自宅ラボで頻繁に行う Nested ESXi の仮想マシン作成を簡略化したいと考え、 PowerCLI で作成するようにしたため、備忘のため記事に書く。

この記事を読んで欲しい人h2

  • Nested ESXi の仮想マシン作成を Power CLI で行いたいと考えている人

Nested ESXi 仮想マシンの構成h2

以下構成の仮想マシンを作成する。

設定項目パラメータ変数設定値
コンピューティングリソース-VMHostesxhost1lab-esxi-101.lab.internal
データストア-Datastoredatastore1lab-esxi-101-local-01
仮想マシン名-Nameesxi1esxi-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 仮想マシン作成h2

  1. キーボードの [Windows] + [X] でシステムメニューを開き、 [A] キー を押下し、ターミナルを管理者として起動する

  2. ターミナルがコマンド プロンプトで起動している場合、以下のコマンドで PowerShell を起動する

    Terminal window
    powershell

  3. Connect-VIServerで<vCenter Server FQDN>、vCenter Serverの<ユーザー名>、<パスワード>を指定し、 vCenter Server に接続

    Terminal window
    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

  4. 仮想マシン作成用の変数を指定

    Terminal window
    $esxhost1 = "lab-esxi-101.lab.internal"
    $datastore1 = "lab-esxi-101-local-01"
    $esxi1 = "esxi-021"

  5. 仮想マシンを作成

    Terminal window
    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

  6. [ハードウェア アシストによる仮想化をゲスト OS に公開]、[ファームウェア]設定を変更

    Terminal window
    $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)

環境h2

  • vSphere ESXi 8.0.3 ( Build:24674464 )