検証環境として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 | 仮想マシン名 |
VMHost | ESXiホスト |
Datastore | データストア |
NumCpu | CPU数 |
DiskGB | ディスク容量(GB) |
MemoryGB | メモリ容量(GB) |
DiskStorageFormat | ディスクフォーマット thin:シンプロビジョニング thick:シックプロビジョニング |
NetworkName | ネットワーク名 (ポートグループ) |
CD | CDドライブを追加 |
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仮想マシン作成の自動化については以上です。
コメント