VMware仮想マシン作成の自動化

検証環境としてVMwareを利用している方は多いと思います。


仮想マシン作成方法としてクローンやテンプレートからのデプロイもありますが、一から仮想マシンを作成することもあると思います。

その手間を省くために簡易的な仮想マシン作成スクリプトを作成しました。


VMwareの運用に携わっているわけではないので、あくまで個人的に数台作成したい時に利用してます。

ある程度の規模なら、仮想マシン名やスペックを記載したCSVファイルを読み込んで一度に複数台作成も可能かと思います。


スクリプト実行前に、VMwareのモジュールをインポートしておきます。

VMware.PowerCLI
https://www.powershellgallery.com/packages/VMware.PowerCLI/12.0.0.15947286


1.Windows用仮想マシン作成

Import-Module VMware.PowerCLI
Connect-VIServer -Server vcsa -User root -Password “Password” -Force

Write-Host “VMName:” -NoNewLine
$vmname = Read-Host

New-VM -Name $vmname -VMHost ‘esxi’ -Datastore ‘datastore’ -NumCpu 2 -DiskGB 80 -MemoryGB 4 -DiskStorageFormat ‘thin’ -NetworkName ‘VM Network’ -CD -GuestID ‘windows9Server64Guest’ -Location ‘Folder’

$vm = Get-VM $vmname
$vm | Get-NetworkAdapter | Set-NetworkAdapter -Type VMXNet3 -Confirm:$false
$vm | Get-CDDrive | Set-CDDrive -ISOPath “[datastore1] ISO/Windows Server/Windows_Server_2016.ISO” -StartConnected $true -Confirm:$false

$vm | Start-VM
$vm | Open-VMConsoleWindow

Disconnect-VIServer -Confirm:$false




2.Linux用仮想マシン作成

Import-Module VMware.PowerCLI
Connect-VIServer -Server vcsa -User root -Password “Password!” -Force

Write-Host “VMName:” -NoNewLine
$vmname = Read-Host

New-VM -Name $vmname -VMHost ‘esx’ -Datastore ‘datastore’-NumCpu 2 -DiskGB 80 -MemoryGB 4 -DiskStorageFormat ‘thin’ -NetworkName ‘VM Network’ -CD -GuestID ‘centos8_64Guest’ -Location ‘Folder’

$vm = Get-VM $vmname
$vm | Get-CDDrive | Set-CDDrive -ISOPath “[datastore1] ISO/CentOS/CentOS-8.1.1911-x86_64-dvd1.iso” -StartConnected $true -Confirm:$false

$vm | Start-VM
$vm | Open-VMConsoleWindow

Disconnect-VIServer -Confirm:$false




3.コマンドおよびオプションの説明

Import-Module VMware.PowerCLI

 ⇒PowerCLIモジュールをインポートします。

Connect-VIServer

 ⇒vCenter または ESXi に接続します。

オプション
Server接続先の vCenter またはESXi
Userログインユーザー
Passwordログインパスワード
Force証明書エラーを無視する



New-VM

 ⇒仮想マシンを作成します。

オプション
Name仮想マシン名
VMHostESXiホスト
Datastoreデータストア
NumCpuCPU数
DiskGBディスク容量(GB)
MemoryGBメモリ容量(GB)
DiskStorageFormatディスクフォーマット
 thin:シンプロビジョニング
 thick:シックプロビジョニング
NetworkNameネットワーク名
(ポートグループ)
CDCDドライブを追加
GuestIDゲストOSの種類
Location作成先のフォルダ
※vCenterを利用してる場合



Set-NetworkAdapter -Type VMXNet3

 ⇒NICのアダプタタイプを VMXNet3 に変更
  ※Windows のデフォルトは E1000e
  ※Linux のデフォルトは VMXNet3 のため不要

Set-CDDrive

 ⇒CDドライブにインストールする OS の ISO ファイルをマウントします。

オプション
ISOPath ISOファイルのパス
StartConnected起動時にCDドライブを接続する



Start-VM

 ⇒仮想マシンを起動します。

Open-VMConsoleWindow

 ⇒コンソールを起動します。

Disconnect-VIServer

 ⇒vCenter または ESXi から切断します。


VMware仮想マシン作成の自動化については以上です。

コメント

タイトルとURLをコピーしました